package top.littlejiang.onlinexam.service;

import top.littlejiang.onlinexam.entity.OlexamTask;
import top.littlejiang.onlinexam.common.base.BaseService;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 定时任务表 服务类
 * </p>
 *
 * @author chen
 * @since 2021-04-02
 */
public interface OlexamTaskService extends BaseService<OlexamTask> {

    /**
     * 新增任务
     * 参数需要 fkId corn type
     * @param task
     * @throws IllegalAccessException
     * @throws InstantiationException
     */
    void addTask(OlexamTask task) throws IllegalAccessException, InstantiationException;

    /**
     * 更新任务 --> 更新数据库，删除任务，重新添加任务线程
     * @param task
     * @throws InstantiationException
     * @throws IllegalAccessException
     */
    void updateTask(OlexamTask task) throws InstantiationException, IllegalAccessException;

    /**
     * 删除任务
     * @param taskId
     */
    void deleteTask(String taskId);

    /**
     * 批量删除任务
     * @param taskIds
     */
    void deleteTasks(List<Serializable> taskIds);

    /**
     * 根据fkId 获取id 列表
     * @param fkId
     * @return
     */
    List<Serializable> selectIdByfk(String fkId);

    /**
     * 根据fkId 获取详细列表
     * @param fkId
     * @return
     */
    List<OlexamTask> selectByfk(String fkId);

}
